Geometric data analysis